import GlobalApi from 'src/typings/global';
import { ErrorCode } from '../constants/error-code.enum';

/**
 * 响应工具类
 * 用于生成统一的响应格式
 */
export class ResponseUtil {
  /**
   * 成功响应
   * @param data 响应数据
   * @param msg 响应消息
   * @returns 统一响应格式
   */
  static success<T>(data: T, msg = 'success'): GlobalApi.ResponseType<T> {
    return {
      code: ErrorCode.SUCCESS,
      data: data,
      msg,
    };
  }

  /**
   * 错误响应
   * @param code 错误码
   * @param msg 错误消息
   * @returns 统一响应格式
   */
  static error(
    code = ErrorCode.COMMON_ERROR,
    msg = 'error',
  ): GlobalApi.ResponseType<null> {
    return {
      code,
      data: null,
      msg,
    };
  }
}
